Multimedia terminals, such as multimedia desktop computers, consist of a variety of hardware and software modules. Hardware modules comprise physical devices, such as plug-in cards, that perform specific data and signal processing tasks, whereas software modules comprise microprocessor software code that executes either on microprocessors located on the hardware modules, or on the host microprocessor.
A typical use of a multimedia terminal is in the processing of analog and digital signals derived typically from external signal sources (e.g., a video camera), and from file servers (such files being the digitized versions of analog or digital signals). For example, a multimedia terminal might take an external analog video signal as an input, digitize it, compress it, then send it to a Network Interface Card (NIC) for transmission into a digital network (for eventual reception by another multimedia terminal that would perform the inverse operation of sending the decoded video signal to an analog television monitor).
Multimedia signals are typically high-bandwidth, and time-sensitive, in nature. For example, an increasingly popular video compression scheme is commonly known as MPEG-2 (Motion Picture Experts Group)(International Standards Organization (ISO) 13818-1). An instance of such a video compression card inside a multimedia terminal may generate a bit-rate in excess of 4,000,000 bits per second, which is a high-bandwidth signal. The signal is also time-sensitive in nature, meaning the Presentation Time Stamps (PTS) embedded in the MPEG-2 Transport Stream (TS) must be processed by the terminal with a minimum amount of jitter. Jitter, in analog communication, is a distortion caused by a signal's variation from its reference timing causing errors in data transmission. This variation in amplitude, time, frequency or phase of the signal and may be caused by background noise. Jitter, causing a change in phase of the signal, delays the signal. Reducing jitter thus implies a decrease in the maximum time that the video compression card has to wait to access the terminal data bus. This time is known as bus latency.
Although various implementations of multimedia terminals exist, no architectures specifically address the need of providing low-latency and low-jitter transmissions within the terminal. The need to provide such characteristics will increase as signal bandwidths increase (as is to be expected over time). As signal bandwidths increase, there is an increase in high frequency noise which results in higher jitter and thus higher latency. For example, it is not inconceivable that very high bandwidth network connections (in excess of hundreds of mega-bits per second) will be available to the average person at home within a few short years. The provision of very high bandwidth networks will place demands on multimedia terminals and the technologies used within the terminals to facilitate the processing and transmission of multimedia signals for low-jitter and low latency transmission.
Present implementations typically place the multimedia processing devices on a main bus inside the terminal. FIG. 1, below, shows a typical implementation whereby all devices are placed on a Peripheral Component Interconnect (PCI) bus 30. The PCI bus is an increasingly popular bus technology that permits the transmission of high-bandwidth signals and low-bandwidth signals. In FIG. 1, there are four devices shown connected to the PCI bus 30: a host processor 20, an auxiliary device 12, a multimedia processing device 14, and a network interface card (NIC) 16. Inside the host processor is shown a bus arbiter 18 that manages device access to the PCI bus 30.
In this example, all the devices 12, 14 and 16 communicate with the host processor 20 via the PCI bus 30 because the host processor 20 is responsible for configuring, controlling and managing the operation of the devices. Such communication signals can be low-bandwidth, or high-bandwidth in nature. For example, the auxiliary device 12 could be a video card, another type of NIC, or an Industry Standard Architecture (ISA) Bus-to-PCI Bridge.
The multimedia processing device 14 shown in this example processes external multimedia signals (such as analog or digital baseband video and audio signals) using MPEG-2 compression and decompression and sends/receives MPEG-2 data to/from the NIC 16. Therefore, the multimedia processing device 14 requires low-latency and low-jitter transmission of processing signals to/from the NIC 16 via the PCI bus 30.
The auxiliary device 12 may process signals that are quite unrelated to the signals processed by the multimedia processing device 14. However, both devices share the same PCI bus 30. When the auxiliary device 12 has data to send to/from the host processor 20, it will request access to the PCI bus 30 and will be eventually granted access by the bus arbiter 18. While the auxiliary device 12 has sole use of the PCI bus 30, the mulrimedia processing device 14 must hold-off sending data because the PCI bus 30 can serve only one device at a time. This holding-off introduces latency, and consequently, signal jitter in the data to be sent to/from the host processing device 14 from/to the NIC 16.